#pragma once
#include "Resource.h"

namespace ZeEngine
{
    class SDLTexture : public Resource
    {
    public:
        SDLTexture(const std::string& strPath, const std::string& strName, const std::string& strGroup);
        SDLTexture(SDL_Texture* pTexture);

        ~SDLTexture();

        const Vector2D<s32>& GetDimension() { return m_dimension; }
        
        SDL_Texture* GetTexture() { return m_texture; }

    private:
        bool Load(ResourceLoader& loader);
        void Unload(ResourceLoader& loader);

    private:
        SDL_Texture*  m_texture;
        u32           m_format;
        Vector2D<s32> m_dimension;
        s32           m_access;
    };
}

